// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
    ssr: true,
    app: {
        baseURL: '/',
        cdnURL: '/',
        head: {
            viewport: 'width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no',
            title: '管理系统',
            meta: [
                { name: 'description', content: '基于Nuxt3构建的现代化管理系统' },
                { name: 'keywords', content: 'Nuxt3, 管理系统, Vue3, TypeScript' }
            ],
            link: [
                { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
            ]
        }
    },
    //运行时配置
    runtimeConfig:{
        appKey:'nuxt3', //runtimeConfig下的服务的可读取
        //public 的值在服务端和客户端都可以访问, 
        public:{
            baseUrl:'http://localhost:3000/'
        }
    },
    icon: {
        mode: 'css',
        cssLayer: 'base',
        customCollections: [
            {
                prefix: 'icon',
                dir: './assets/icons'
            }
            ]
    },

  compatibilityDate: '2025-05-15',
  devtools: { enabled: true },
  devServer:{
    port:3000,
    host:'0.0.0.0',
  },
  modules: [
      '@vueuse/nuxt',
      '@pinia/nuxt',
      'pinia-plugin-persistedstate/nuxt',
      '@nuxt/icon',
      '@nuxt/image',
      '@nuxtjs/tailwindcss',
      // '@nuxt-alt/proxy',
      // "@hebilicious/vue-query-nuxt"
  ],
  // proxy: {
  //   debug: false,
  //   experimental: {
  //     listener: false
  //   },
  //   proxies: {
  //     '/api': {
  //       target: 'http://jiaocai-web.dev.multimediapress.cn',
  //       changeOrigin: true,
  //       rewrite: (path) => path.replace(/^\/api/, '')
  //     }
  //   }
  // },
  css: [
      'normalize.css',
      "@/assets/css/global.css",
  ],
  postcss: {
    plugins: {
        // 'postcss-px-to-viewport-8-plugin': {
        //     viewportWidth: 1920, // 设计稿的视口宽度
        //     unitPrecision: 5, // 转换后的单位精度
        //     viewportUnit: 'vw', // 转换后的单位
        //     selectorBlackList: [], // 忽略的选择器
        //     minPixelValue: 1, // 最小的转换值
        //     mediaQuery: false, // 是否转换媒体查询中的 px
        //     exclude: /node_modules/, // 忽略的文件或文件夹
        // },
    }
},
    // vueQuery: {
    //     stateKey: "vue-query-nuxt",
    //     queryClientOptions: {
    //         defaultOptions: { queries: { staleTime: 5000 } }
    //     },
    //     vueQueryPluginOptions: {
    //         enableDevtoolsV6Plugin: true
    //     }
    // }
  nitro: {
    routeRules: {
      '/**': { static: true, ssr: true }
    }
  }
})